void CQueueInit(CQueue* cq, int k)
{
	assert(cq);
	CQueueNode* plist = CreatCQueueList(k + 1);
	cq->front = cq->tail = plist;
}
CQueueNode* CreatCQueueList(int k)
{
	CQueueNode* phead = NULL;
	CQueueNode* tail = phead;
	while (k)
	{
		CQueueNode* newNode = (CQueueNode*)malloc(sizeof(CQueueNode));
		newNode->next = NULL;
		if (phead == NULL)
		{
			phead = tail =newNode;
		}
		else
		{
			tail->next = newNode;
			tail = newNode;
		}
		--k;
	}
	tail->next = phead;
	return phead;
}